home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 September / CHIP 1996 szeptember (CD07).zip / CHIP_CD07.ISO / sac / pack / lha266.exe / LHATEC.DOC < prev    next >
Text File  |  1994-12-03  |  5KB  |  155 lines

  1.  
  2. üª âAâïâSâèâYâÇé╠ë≡Éα
  3.  
  4.  
  5. æSæ╠é╠ê│Åké╠ù¼éΩé═Å]ùêé╞ô»é╢üBé╡é╜é¬é┴é─üAôWèJâAâïâSâèâYâÇé╔
  6. ò╧ìXé═û│éóüBé╜é╛üAĽÅæâTâCâY鬠-lh6- é┼é═ 32K bytes é▄é┼üA-lh7- 
  7. é┼é═ 64K bytes é▄é┼é╔æ╬ë₧é┼é½éΘî`Ä«é╞é╚é┴é╜é╠é┼üAé▒é╠é╜é▀é╠ÅC
  8. É│é═òKùvüB
  9.  
  10. ìíë±é╠âAâïâSâèâYâÇé╠ò╧ìXé═üAgzip é┼ÄgéφéΩé─éóéΘ hash é╞ Éⁿî`
  11. âèâXâgé≡Ägé┴é╜îƒì⌡é≡ì╠ùpé╡é╜é▒é╞é╔éáéΘüB
  12.  
  13.  
  14.  
  15. I. èεû{ôIé╚âAâïâSâèâYâÇ
  16.  
  17.                      ,ü⌐ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\ü\üE
  18.            00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  ü¬
  19. hash özù±  -- -- -- 07 -- -- -- -- -- -- -- -- -- -- -- --  üb
  20.                      'ü\ü\ü\ü¿,                             üb
  21.            01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10  üb
  22. prev özù±  -- 00 -- -- -- -- 02 -- -- -- -- -- -- -- -- --  üb
  23.                ^ü⌐ü\ü\ü\ü\ü\ü\'                             üb
  24.               üb             üb            hash Æl = 0003 ü¿üE
  25.               ü½             ü½             _________
  26. text özù±   X  A  B  C  D  E  A  B  C  E  F  A  B  C  D  F
  27.               ~~~~~~~~~      ~~~~~~~~~      ü¬
  28.                                             pos (î╗ì▌é╠â|âCâôâ^)
  29.  
  30.  
  31. A. ò╢ÄÜù±é╠îƒì⌡
  32.  
  33.  
  34. 1. î╗ì▌é╠â|âCâôâ^ê╩Æu(pos)é⌐éτÄné▄éΘò╢ÄÜù±é╠ɵô¬ 3 bytes é≡
  35. Ägé┴é─ hash Æl(hval)é≡ïüé▀éΘ(Åπé╠ùßé┼é═ 0x0003 é╞é╖éΘ)üB
  36.  
  37. 2. hval é┼ hash özù±é≡ì⌡ê°é╡(hash[hval])üAîƒì⌡ò╢ÄÜù±é╠ê╩Æué≡
  38. ïüé▀éΘ(scan_pos)üBé▒é╠ò╢ÄÜù±é╞î╗ì▌ê╩Æué╠ò╢ÄÜù±é≡öΣèré╖éΘüB
  39.  
  40. 3. scan_pos é┼ prev özù±é≡ì⌡ê°é╡üAé┬é¼é╠îƒì⌡ò╢ÄÜù±é╠ê╩Æué≡ïü
  41. é▀éΘ(scan_pos = prev[scan_pos])üBÅπé╞ô»ùlé╔ò╢ÄÜù±é╠öΣèré≡ìs
  42. é╚éóüAêΩÆvÆ╖é¬éµéΦÆ╖é»éΩé╬üAé╗é╠êΩÆvÆ╖é≡ïLë»é╖éΘüB
  43.  
  44. prev[scan_pos] é¬ë╜éαÄwé╡é─éóé╚éóé╞é½é═é╗é▒é┼ÅIéφéΦüBé▄é╜üA
  45. pos é╞ scan_pos é╠ïùùúé¬Ä½Åæé╠âTâCâYé≡ëzéªé╜éτîƒì⌡é≡ÅIù╣é╖éΘüB
  46.  
  47.  
  48. B. ò╢ÄÜù±é╠ôoÿ^
  49.  
  50. 1. î╗ì▌é╠â|âCâôâ^ê╩Æu(pos)é⌐éτÄné▄éΘò╢ÄÜù±é╠ɵô¬ 3 bytes é≡
  51. Ägé┴é─ hash Æl(hval)é≡ïüé▀éΘüB
  52.  
  53. 2. é┬é¼é╠æπôⁿé≡ìsé╚é┴é─âèâXâgé╔ôoÿ^é╖éΘüB
  54.  
  55.    prev[pos] = hash[hval]
  56.    hash[hval] = pos
  57.  
  58.  
  59. C. ò╢ÄÜù±é╠ôoÿ^é╠ìφÅ£
  60.  
  61. ÆPÅâé╚Éⁿî`âèâXâgì\æóé╠é╜é▀üAî├éóâmü[âhé┘é╟âèâXâgé╠ûûÅ╜é╔ê╩Æu
  62. é╖éΘé▒é╞é╔é╚éΘüBé▒é╠é╜é▀üAîƒì⌡é≡æ┼é┐É╪éΘé╛é»é┼î┬ò╩é╔ò╢ÄÜù±é╠
  63. ôoÿ^é≡ìφÅ£é╖éΘòKùvé¬û│éóüBĽÅæé¬û₧öté╞é╚éΦüAâeâLâXâgé╠ê┌ô«üEÉV
  64. é╡éóâeâLâXâgé╠ô╟é▌ì₧é▌üEâ|âCâôâ^özù±é╠ìXÉVé≡ìsé╚éñÄ₧ô_é┼üAĽ
  65. Åæé╠âTâCâYê╚Åπî├éóâ|âCâôâ^é≡ NIL(ë╜éαÄwé╡é─éóé╚éóÅ≤æ╘) é╔êΩèç
  66. é╡é─ò╧ìXé╖éΘüB
  67.  
  68.  
  69. II. û{û@é╠ùÿô_üEîçô_
  70.  
  71. 1. ùÿô_
  72.  
  73. ì\æóé¬ÆPÅâé╚é╠é┼üAâüâéâèü[Å┴ö∩ù╩é¬Å¡é╚é¡é─ì╧é▐üBé╡é╜é¬é┴é─Ľ
  74. Åæé╠âTâCâYé≡æσé½é¡ÄµéΘé▒é╞é¬é┼é½éΘ(DOS é╠âèâAâïâéü[âhé┼éα 32K
  75. âoâCâgé╠ĽÅæé¬ÄgéªéΘ)üB
  76.  
  77. æOÅqé╡é╜éµéñé╔üAò╢ÄÜù±é╠ôoÿ^é¬è╚ÆPé┼ìφÅ£é¬òsùvé╚é╜é▀üAÆ╩Åφé═
  78. ìéæ¼üB(ùßèOéáéΦüBÅ┌é╡é¡é═îçô_é╠ìÇé┼Åqé╫éΘüB)
  79.  
  80. 2. îçô_
  81.  
  82. ɵô¬é╠ÉöâoâCâgé╔ô»é╢ò╢ÄÜù±é¬é¡éΦò╘é╡Åoé─é¡éΘéµéñé╚âtâ@âCâïé┼
  83. é═(âfâoâbâKùpé╠Åεò±é╚é╟)üAô»é╢ hash Ælé⌐éτÄné▄éΘâèâXâgé╔æ╜Éö
  84. é╠ò╢ÄÜù±é¬ôoÿ^é│éΩéΘîïë╩é╞é╚éΦüAîƒì⌡é¬ö±Åφé╔Æxé¡é╚éΘüB
  85.  
  86.  
  87. III. îçô_é≡ìÄò₧é╖éΘé╜é▀é╠ëⁿù╟
  88.  
  89. û{âAâïâSâèâYâÇé≡ì╠ùpé╖éΘé╔éáé╜éΦüAé┬é¼é╠ò√û@é╔éµéΦîçô_é≡éáéΘ
  90. Æ÷ôxìÄò₧é┼é½é╜üB
  91.  
  92.  
  93. (1)  îƒì⌡é╡éµéñé╞é╖éΘò╢ÄÜù±é╠ hash Ælé╠âèâXâgé╔êΩÆΦÉöê╚Åπé╠âG
  94. âôâgâèü[é¬éáéΘÅΩìçé╔é═üAâGâôâgâèü[Éöé╠Å¡é╚éó hash Ælé╠âèâXâgé¬
  95. î⌐é┬é⌐éΘé▄é┼ hash Ælé╠îvÄZê╩Æué≡îπéδé╔é╕éτé╡é─éóé¡(é╕éτé╡é╜âo
  96. âCâgÉöé≡ offset é╞é╖éΘ)üBé╜é╛é╡ (offset + 3) é¬ì┼æσöΣèrÆ╖ 
  97. (MAXMATCH = 256) é≡ëzéªé╚éóö═ê═üB
  98.  
  99.  
  100. (2)  (1) é┼âGâôâgâèü[Éöé╠Å¡é╚éó hash Ælé╠âèâXâgé¬î⌐é┬é⌐éτé╚éó
  101. ÅΩìçé╔é═î│é╠ hash Ælé┼îƒì⌡é≡ìsé╚éñüB
  102.  
  103. (2) é╠ÅΩìçüAé▒é╠ò╢ÄÜù±é═Ägùpòpôxé╠ìééó hash Ælé≡Ä¥é┬ 3 âoâCâg
  104. ò╢ÄÜù±é╛é»é⌐éτì\ɼé│éΩé─éóéΘüBé╡é╜é¬é┴é─Å¡é╚éóîƒì⌡é┼è«æSêΩÆv
  105. é╖éΘò╢ÄÜù±é¬î⌐é┬é⌐éΘë┬ö\ɽé¬ìééóé╞ìléªéτéΩéΘüBÆ╩Åφé▒é╠âPü[âX
  106. é╔êΩö╘æ╜é¡ôûé─é═é▄éΘé╠é═üAô»é╢ò╢ÄÜé¬ÿAæ▒é╡é─ MAXMATCH âoâCâg
  107. ê╚Åπò└é±é┼éóéΘÅΩìçé┼éáéΘüB
  108.  
  109. ï⌠æRê┘é╚éΘò╢ÄÜù±é¬ô»é╢ hash Ælé≡Ä¥é┬é▒é╞é═éαé┐éδé±éáéΘé╠é╛é¬üA
  110. é▒éΩé≡î⌐ôªé╡é╜é▒é╞é╔éµéΘê│Åkî°ùªé╠Æßë║é═ï═é⌐é┼éáéΘé╞è·æ╥é│éΩ
  111. éΘüB
  112.  
  113.  
  114. (3)  (1) é┼âGâôâgâèü[Éöé╠Å¡é╚éó hash Ælé╠âèâXâgé¬î⌐é┬é⌐é┴é╜ÅΩ
  115. ìçé╔é═üAé▒é╠âèâXâgé≡é╜é╟é┴é─ (offset + 3) âoâCâgê╚ÅπêΩÆvé╖éΘ
  116. ò╢ÄÜù±é≡îƒì⌡é╖éΘüBéαé┐éδé±ò╢ÄÜù±é╠öΣèré═ offset âoâCâgé╛é»æO
  117. é⌐éτÄné▄éΘò╢ÄÜù±é≡æ╬Å█é╞é╖éΘüB
  118.  
  119.  
  120. (4)  (3) é┼ (offset + 3) âoâCâgê╚ÅπêΩÆvé╖éΘò╢ÄÜù±é¬î⌐é┬é⌐éτé╚
  121. éóÅΩìçé╔é═üAì┼æσöΣèrÆ╖ (max) é≡ (offset + 2) é╔ɺî└é╡üAî│é╠ 
  122. hash Ælé╠âèâXâgé≡é╜é╟é┴é─Æ╩Åφé╠îƒì⌡é≡é╖éΘüB
  123.  
  124. é▒é╠ÅΩìçüAéáé▄éΦÆ╖éóêΩÆvò╢ÄÜù±é═î⌐é┬é⌐éτé╚éóé╠é┼üAîƒì⌡é≡ôrÆå
  125. é┼æ┼é┐É╪é┴é─éαé╗éΩé┘é╟é╠î°ùªÆßë║é═ïNé½é╚éóé╞è·æ╥é│éΩéΘüB
  126.  
  127.               --------------------------------
  128.  
  129. ê╚ÅπéµéΦüAÆ╖éóâèâXâgé¬ì∞éτéΩé╜ÅΩìçé┼éαé╗é╠æSé─é≡îƒì⌡é╖éΘòKùv
  130. é¬éáé▄éΦû│é¡é╚éΦüAêΩÆΦé╠é╞é▒éδé┼îƒì⌡é≡æ┼é┐É╪éΘé▒é╞é¬é┼é½éΘüB
  131. ê│Åkî°ùªéαé╗éΩÆ÷æ╣é╚éφéΩéΘé▒é╞é═û│éóéαé╠é╞ÄvéφéΩéΘüB
  132.  
  133.  
  134.  
  135. üª LHA é╠ĵéΦê╡éªéΘèiö[âtâ@âCâïÉöé╠î└èE
  136.  
  137.  
  138. 1. ê│Åkîné╠âRâ}âôâhé╠ÅΩìç (f âRâ}âôâhé≡Å£é¡)
  139.  
  140. êΩôxé╔é▄é╞é▀é─ìXÉVüEÆ╟ë┴é┼é½éΘâtâ@âCâïÉöé═ DOS é╠âüâCâôâüâéâè
  141. é╠æσé½é│é╔éµéΦɺî└é≡Ä≤é»éΘüBé▒éΩé═ìXÉVüEÆ╟ë┴é╖éΘâtâ@âCâïé╠î≤
  142. òΓé╠êΩùùé≡ò█Ä¥é╡é─é¿é¡òKùvé¬éáéΘé╜é▀é┼éáéΘüBLHA é═ EMS, XMS 
  143. é╚é╟é╠ègÆúâüâéâèé≡æSé¡Ägùpé╡é─éóé╚éóé╠é┼üAÅâÉêé╔âüâCâôâüâéâè
  144. é╠æσé½é│é╔ì╢ëEé│éΩéΘé▒é╞é╔ù»ê╙é╡é─Æ╕é½é╜éóüB
  145.  
  146. ÅπïLé╠ɺî└é≡Ä≤é»é╚éóî└éΦüAë╜ôxé╔éαò¬é»é─âtâ@âCâïé≡Æ╟ë┴é╖éΘé╚
  147. éτé╬üAêΩé┬é╠Åæî╔é╔èiö[é┼é½éΘâtâ@âCâïÉöé╠ɺî└é═æSé¡û│éóé═é╕üB
  148.  
  149.  
  150. 2. ôWèJîné╠âRâ}âôâhé╠ÅΩìç (f âRâ}âôâhé≡è▄é▐)
  151.  
  152. ÅφÄ»ôIé╚ö═ê═ôαé┼æSé¡Éºî└é═û│éóüB
  153.  
  154.  
  155.